1. Field of the Invention
This invention relates to computer communication systems, that is for communication between software users and software developers. More specifically, this invention relates to systems for communicating information concerning software program usage, comments, suggestions and defects from software users to software program developers which take advantage of computer networks, electronic mail services, and automated software reporting means to provide to provide feed-back information to software program developers.
2. Description of Related Art
A variety of techniques have been developed for providing feed-back to computer software developers including stand-alone debuggers, web page hits and usage reporters, telephone support centers and e-mail electronic support services. Such techniques may provide support and feed-back in the limited application in which it is applied, however, automatic coordination and reporting of information from a wide variety of sources without undue human intervention is not generally available in any of these techniques. Certain technologies have been proposed to address feed-back information communication concerning software and/or computer systems, including: a system which measures and reports the use of a personal computer by a user through a log file; a database system which reports the frequency of search queries and the occurrences of terms; a training and testing system that runs concurrently with a target software application program, which asks the user to perform a series of application functions and monitors the user""s responses; an expert system for tuning the performance of a large scale software system; a method for verifying the conformance of an application program to a set of system rules; and a computer program that measures the execution of machine code instructions in an executing program. For general background material, the reader is directed to U.S. Pat. Nos. 4,910,663, 5,313,616, 5,367,473, 5,602,982, 5,659,732, 5,675,510, each of which is hereby incorporated by reference in its entirety for the material disclosed therein.
It is desirable to provide a method and system which facilitates the communication of feed-back information to a software developer, including specifically the communication of which sections of the software program are most useful or are not used and which program defects are the most troublesome to users and to provide such information with minimal human interaction, minimal time delay, and minimal interference with the user""s computer system or the application program being monitored. Such information assists developers in managing, maintaining and improving the quality of computer programs. It is also desirable to provide software users with feed-back as to defects that have been identified along with expected fix dates. Similarly it is desirable to have a software quality control system in which defects can be reproduced by a software developer with minimal user interaction, thus enabling a more timely defect repair response time. It is desirable to have a means for requesting and logging feature requests from users, so that developers can prioritize requested features for inclusion in future software updates. Moreover, it is desirable to provide an automated software quality control system which is capable of coordinating information received from a variety of sources and a variety of users and presenting such information to the software developer, while simultaneously reducing the burden on human support centers.
Accordingly, it is the primary object of this invention to provide a method and system for communicating software program feed-back from a user to a software program developer.
Another object of this invention is to provide a method and system for communicating software program use statistics.
A further object of this invention is to provide a method and system for communicating defects from computer software users to the computer software developer.
A still further object of this invention is to provide a method and system for communicating defect identification and correction status to software program users from software program developers.
Another object of this invention is to provide a method and system for receiving and logging feature requests from software program users for use by software program developers.
It is still another object of this invention to provide a method and system for communicating feed-back information between software users and developers which is automated and requires minimal human interaction.
A still further object of this invention is to provide a method and system for communicating feed-back information to a software program developer which minimizes the impact on the performance of the user""s computer system and software program.
A further object of this invention is to provide a method and system for facilitating communication between software program users and software program developers which reduces the burden on human support centers.
Additional objects, advantages, and other novel features of the invention will be set forth in part in the description that follows and in part will be apparent to those of ordinary skill in the art upon examination of the following or may be learned with the practice of the invention. The objects and advantages of this invention may be realized and attainted by means of the instrumentalities and combinations particularly pointed out in the appended claims.
To achieve the foregoing and other objectives, and in accordance with the purposes of the present invention, a computer program is provided which is capable of searching, ranking, sorting and displaying information contained within a computer database, and which tracks usage information, using the usage information to affect the relevance ranking algorithm. The primary functional sections of the preferred computer program embodiment of the invention include: an initialization routine; an error detection routine; a software timer; an user interface control routine; an event logging routine; and a statistics categorization routine. Commercially available Internet communications software along with the Internet itself provides the preferred communication channel.
The preferred embodiment of this invention is designed to be used on any standard computer system that is linked by a network or other communication means to another computer system. Information is collected and communicated to a monitoring system, which is capable of producing usage reports, features request reports, defect reproduction step reports and user comment reports. Usage information is gathered and communicated without user intervention. While feature requests, defect reports, comments and questions are sent after being created or initiated by the user. In the preferred embodiment, a software button or menu item is provided in the application software, preferably with the label xe2x80x9cEmpowerment.xe2x80x9d When a user selects this button or menu item a dialog window is opened and the user is provided with a choice for selection of the type of communication, for example: defect report, feature request, comment, and/or question, and an edit control (pre-initialized with the user""s e-mail address) for a reply-to-e-mail address and an edit control for user created text. The dialog may be exited by either engaging a xe2x80x9csendxe2x80x9d button or a xe2x80x9ccancelxe2x80x9d button. The engagement of the xe2x80x9csendxe2x80x9d button will cause the information to be sent to the developer while providing the user with a status window for the process.
Through the use of this invention a computer program user is able to provide requests or comments, describe program defects, or ask questions of the developer, all in a manner which is integrated with the application program and which is communicated directly with the vendor of the software. This direct form of user feed-back both provides an efficient and direct method of gathering important information by the program developer and enhances the relationship between the vendor of the software and the user by giving the user a feeling of control and empowerment with respect to the application software program at issue.